package com.zqh.shoppingcartcud.controller;

import com.zqh.myfmmall.entity.ShoppingCart;
import com.zqh.myfmmall.result.Result;
import com.zqh.shoppingcartcud.service.ShoppingCartCUDService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

/**
 * @Description :
 * @Author :kono淇杭哒、
 * @Create 2022-02-18 2:15
 */
@RestController
@RequestMapping("shoppingCart")
public class ShoppingCartCUDController{
    @Resource
    private ShoppingCartCUDService shoppingCartCUDService;

    @PostMapping("create")
    public Result add(@RequestBody ShoppingCart shoppingCart){
        return shoppingCartCUDService.save(shoppingCart) ? Result.success() : Result.internalServerError("服务器开小差了，请重试");
    }

    /**
     * 功能描述:
     * 购物车接口服务调用，修改购物车信息请求接口
     * @param
     * @return
     * @author kono曾淇杭哒！
     * @date 2022/2/22 22:06
     */
    @PutMapping("update")
    public Result update(@RequestBody ShoppingCart shoppingCart){
        return shoppingCartCUDService.updateById(shoppingCart) ? Result.success() : Result.internalServerError("服务器开小差了，请重试");
    }

    /**
     * 功能描述:
     *
     * @param
     * @return
     * @author kono曾淇杭哒！
     * @date 2022/2/22 22:08
     */
    @PutMapping("updateBatch")
    public Result updateBatch(@RequestBody List<ShoppingCart> shoppingCarts){
        return shoppingCartCUDService.updateBatchById(shoppingCarts) ? Result.success() : Result.internalServerError("服务器开小差了，请重试");
    }

    /**
     * 功能描述:
     *
     * 说明：这里使用putmapping而不是deletemapping是因为使用了请求体接收数据的原因
     *      ajax请求get和delete请求不能携带请求体
     *
     * @param ids
     * @return com.zqh.myfmmall.result.Result
     * @author kono曾淇杭哒！
     * @date 2022/3/8 21:11
     */
    @PutMapping("delete")
    public Result delete(@RequestBody List<String> ids){
        return shoppingCartCUDService.removeByIds(ids) ? Result.success() : Result.internalServerError("服务器开小差了，请重试");
    }
}
